package com.aoxin.mapper.activity;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.aoxin.model.activity.SlfSignin;

/**
 * 签到Mapper
 * 
 * @author Melody
 * @date 2018年4月28日 下午8:01:42
 */
public interface SlfSigninMapper {
	/**
	 * 查询签到
	 * 
	 * @param signinId
	 *            签到ID配置
	 * @return 签到DI
	 */
	SlfSignin selectByPrimaryKey(Integer signinId);

	/**
	 * 删除签到
	 * 
	 * @param signinIds
	 *            签到ID
	 */
	void deleteByPrimaryKeys(List<Integer> signinIds);

	/**
	 * 添加签到
	 * 
	 * @param slfSigninConfig
	 *            签到对象
	 */
	void insertSelective(SlfSignin slfSigninConfig);

	/**
	 * 修改签到
	 * 
	 * @param slfSigninConfig
	 *            签到对象
	 */
	void updateByPrimaryKeySelective(SlfSignin slfSigninConfig);

	/**
	 * 批量修改状态
	 * 
	 * @param state
	 *            状态
	 * @param signinId
	 *            签到ID
	 */
	void updateStates(@Param("state") Integer state, @Param("signinId") List<Integer> signinId);

	/**
	 * 查询全部签到
	 * 
	 * @return 签到对象集合
	 */
	List<SlfSignin> getList();

	/**
	 * 根据用户查询最新组号
	 * 
	 * @param userId
	 *            用户ID
	 * @return 组号
	 */
	Integer getGroup(@Param("userId") Integer userId);

	/**
	 * 根据用户和组号查询签到数量
	 * 
	 * @param group
	 *            组号
	 * @param userId
	 *            用户ID
	 * @return 数量
	 */
	Integer getCountByGroup(@Param("userId") Integer userId, @Param("group") Integer group);
}
